The information industry has witnessed a steady evolution in database power and flexibility. From flat file and hierarchical to relational and distributed relational technologies, data structures have evolved to match more closely the way users visualize and work with data.
The latest step in the evolution of databases is the multi-dimensional database. Multi-dimensional databases have matured into the database engine of choice for data analysis applications. This application category is widely recognized today as OLAP (On Line Analytical Processing). Multi-dimensional databases facilitate flexible, high performance access and analysis of large volumes of complex and interrelated data, even when that data spans several applications in different parts of an organization.
Aside from its inherent ability to integrate and analyze large volumes of enterprise data, the multi-dimensional database offers a good conceptual fit with the way end-users visualize business data. For example, a monthly Profit and Loss (P&L) statement with its row and column format is an example of a simple two-dimensional data structure. A three-dimensional data structure might be a stack of these P&L worksheets: one for each month of the year. With the added third dimension, end-users can more easily examine P&L items across time for trends. Insights into business operations can be gleaned and powerful analysis tools such as forecasting and statistics can be applied to examine relationships and project future opportunities.
Multi-dimensional databases allow information to be arranged hierarchically. Lower levels in the hierarchy tend to have greater amounts of detail than higher levels. For example, data may be grouped into four categories: country, region, state, and city. Database records at the city level contain the most detailed information while database records at the country level generally have the least detailed information. "Rolling up" is defined as the consolidation of lower-level data to increasingly higher, more summary, levels of data. One drawback of this structure is that, as data is rolled up, detail can be lost and incorrect data may be retrieved in response to a query at a summary level.
One useful feature of flat file and relational databases is the ability to associate a stored procedure with a data cell. The procedure is invoked, or "triggered," when that data cell is accessed. However, because individual data cells in a multi-dimensional data structure typically are not directly manipulated, provision of a triggering function is not straight forward.